1. Field of the Invention
The invention generally relates to systems with sequential decoding of data streams in noisy channels and, more specifically, to sequential Viterbi decoders for convolutional single-input-multiple-outputs (SIMO)-structured punctured and non-punctured codes where input data for decoding channels is sequentially processed, i.e., processing of data for the next decoding channel starts only after the processing of the current decoding channel has been completed.
2. Description of the Related Art
Convolutional coding is widely used in satellite data transmission channels, for example, in data transmission channels of the radio navigation satellite systems (Global Navigation Satellite Systems (GNSS): GPS L5, GPS L2C, Galileo), as well as communications systems to transmit differential GNSS corrections from geosynchronous orbit satellites (WAAS, EGNOS).
There are multi-channel sequential Viterbi decoders which serve as decoders for data streams (see, for example, U.S. Pat. Nos. 7,246,298, 73430704, WO2009077340, US2008298513 and RU2252487). However, these technical solutions only allow for processing continuous streams of data with convolutional coding. Also, multi-rate decoders are known. A conventional multi-rate decoder is intended for communication systems where bit data transmitted at one bit data rate from the first set of predetermined bit data rates Ri are encoded to obtain code symbol data. The code symbol data is transmitted in frames which include code symbol data representing the first version and (Ni−1) repeated versions of encoded original bit data, where Ni and i are non-zero positive integers.
The multi-rate decoder is designed to output decoded bit data corresponding to the first version of the coded original bit data. The multi-rate decoder includes: an input buffer for receiving and storing at least one frame of code symbol data, a sequential decoder connected to the input buffer to generate a packet i of decoded bit data corresponding to a respective one of at least two predetermined data bit rates Ri in response to code symbol data; an output buffer connected to the sequential decoder to store at least two packets Pi of decoded bit data; a symbols transfer unit within the input buffer for selecting a set of code symbol data Si corresponding to the first version of coded original bit data for each at least two predetermined original bit data rates Ri and for transferring a set of code symbol data Si to the serial decoding unit and a quality metrics unit of the sequential decoder to generating a quality measure Qi for each decoded bit data packet Pi quality measure Qi representing the number of code symbol data errors associated with each decoded bit data packet Pi.
The sequential decoder includes a symbol metric unit for assigning a symbol metric value to each code symbol in accordance with the second coding algorithm, a branch metric calculator unit coupled to the symbol metric unit for creating a pair of branch metric values representing the weighted original data bit transmission probability corresponding to each code symbol from the input buffer in response to corresponding the symbol metric value, a decision path unit coupled to the branch metric calculator for generating and storing a state metric decision value for each possible original data bit transition corresponding to each code symbol of the input buffer in response to the corresponding branch metrics values, and a backward path chain unit coupled to the decision path unit for selecting the most probable decision path for each original data bit transition and for creating corresponding decoded data bit (see RU 2222110 or U.S. Pat. No. 5,710,784).
The multi-rate decoder decodes at several data transmission rates related to multi-rate vocoders and also is able to decode at unknown data transmission rate in either continuous mode or in the mode of synchronized data frames.
However, there is a need for a system and method that provide a possibility to process finite length encoded data packets/data frames for the following construction types: an arbitrary-tail construction; a direct truncation construction; a tail-biting (circular) construction. There is also a need to provide multi-channel capability, as well as capability for decoding of the continuous encoded streams, as well as finite length encoded data packets.